package com.cn.gpt;

import java.lang.reflect.Proxy;

public class ProxyDemo {
    public static void main(String[] args) {
        //创建真实对象
        HelloImpl realSubject = new HelloImpl();
        //创建InvocationHandler对象
        HelloInvocationHandler handler = new HelloInvocationHandler(realSubject);
        //创建代理对象
        Hello proxyInstance = (Hello) Proxy.newProxyInstance(realSubject.getClass().getClassLoader(),new Class<?>[] { Hello.class },handler);
        // 通过代理对象调用方法，实际会先进入 InvocationHandler 的 invoke 方法
        proxyInstance.sayHello("world");
    }
}
